package com.bcu.calculus.utils;

import cn.hutool.http.HttpRequest;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.HashMap;
import java.util.Map;

@Component
@ConfigurationProperties
public class WeChatUtil {


    /**
     * @Author: Wls
     * @Date: 1:13 2020/2/12
     * @Description: 微信登录
     */
    public static String wechatLogin(String js_code, String appId, String secret) {
        Map data = new HashMap<>();
        data.put("appid", appId);
        data.put("secret", secret);
        data.put("js_code", js_code);
        data.put("grant_type", "authorization_code");

        String result = HttpRequest.get("https://api.weixin.qq.com/sns/jscode2session")
                .form(data)
                .execute()
                .body();
        return result;
    }
//    /**
//     *
//     * @return 返回token
//     * @throws IOException
//     */
//    public TokenJson getAccessToken() throws IOException {
//        System.out.println(appID);
//        String result = "";
//        try{//请求微信服务器，用code换取openid。HttpUtil是工具类，后面会给出实现，Configure类是小程序配置信息，后面会给出代码
//            result = HttpUtil.doGet(
//                    "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="
//                            + appID+"&secret="+appSecret , null);
//        }
//        catch (Exception e) {
//            e.printStackTrace();
//        }
//        ObjectMapper mapper = new ObjectMapper();
//        TokenJson tokenJson = mapper.readValue(result,TokenJson.class);
//
//        return tokenJson;
//    }
//
//    public  SendJosn sendJosn(TokenJson tokenJson,String sendMessage) throws JsonMappingException, JsonProcessingException {
//        String result = "";
//
//        try{//请求微信服务器，用code换取openid。HttpUtil是工具类，后面会给出实现，Configure类是小程序配置信息，后面会给出代码
//            result = HttpUtil.doPost("https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token="+tokenJson.getAccess_token(), sendMessage);
//            System.out.println(result);
//        }
//        catch (Exception e) {
//            e.printStackTrace();
//        }
//
//        ObjectMapper mapper = new ObjectMapper();
//        SendJosn sendJosn = mapper.readValue(result,SendJosn.class);
//        System.out.println(result.toString());
//
//        return sendJosn;
//    }
}
